﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MiniFox.Infrastructure.Attributes
{
    /// <summary>
    /// 
    /// </summary>
    [AttributeUsage(AttributeTargets.Class)]
    public sealed class TreeNodeAttribute :  Attribute
    {
        string _nodeKey, _superKey, _sortKey, _groupKey;
        /// <summary>
        /// 
        /// </summary>
        /// <param name="nodeKey"></param>
        /// <param name="superKey"></param>
        /// <param name="sortKey"></param>
        /// <param name="groupKey"></param>
        public TreeNodeAttribute(string nodeKey, string superKey, string sortKey, string groupKey) 
        {
            this._nodeKey = nodeKey;
            this._superKey = superKey;
            this._sortKey = sortKey;
            this._groupKey = groupKey;
        }

        /// <summary>
        /// 
        /// </summary>
        public string NodeKey
        {
            get
            {
                return _nodeKey;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string SuperKey
        {
            get
            {
                return _superKey;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string GroupKey
        {
            get
            {
                return _groupKey;
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public string SortKey
        {
            get
            {
                return _sortKey;
            }
        }
    }
}
